package com.jcxy.service;

import com.jcxy.pojo.Menu;
import com.jcxy.pojo.Role;
import com.jcxy.util.PageBean;

import java.util.List;
import java.util.Map;

public interface RoleService extends BaseService {

    /**
     * 分页查询角色列表
     * @param dto 查询条件
     * @param page 当前页
     * @param limit 页容量
     * @return
     */
    PageBean queryListByPage(Map dto, Integer page, Integer limit);

    /**
     * 通过role_id删除角色
     * @param role_id
     * @throws Exception
     */
    void deleteRoleById(Integer role_id) throws Exception;

    /**
     * 通过id查询角色
     * @param dto
     * @return
     */
    Role queryRoleById(Map dto);

    /**
     * 修改角色信息
     * @param dto
     * @throws Exception
     */
    void updateRole(Map dto) throws Exception;

    /**
     * 新增角色
     * @param role
     * @return
     * @throws Exception
     */
    int addRole(Role role) throws Exception;

    /**
     * 通过角色id查询所有菜单以及是否有权
     * @return
     */
    List<Menu> queryMenuList(Integer role_id);

    /**
     * 修改角色的权限
     * @param dto 包含role_id,menu_id,isShow
     * @throws Exception
     */
    void updateRolePower(Map dto) throws Exception;
}
